package com.hibase.upms.mapper.user;

import com.hibase.core.mybatis.registrar.HibaseMapper;
import com.hibase.upms.entity.user.MdsUser;
import com.hibase.upms.entity.user.vo.MdsUserVO;
import com.hibase.upms.entity.user.vo.MdsUserRoleViewVO;

import java.util.List;
import java.util.Map;


/**
 * <p>
 *  用户表Mapper 接口
 * </p>
 *
 * @author ChrisCui
 * @since 2019-04-16
 */
public interface MdsUserMapper extends HibaseMapper<MdsUser> {


    /**
     * 查询用户列表分页
     */
    List<MdsUserVO> selectUserList(Map<String, Object> map);

    /**
     * 查询用户角色列表分页
     */
    List<MdsUserRoleViewVO> selectUserRoleList(Map<String, Object> map);

    /**
     * 查询用户未绑定角色列表分页
     */
    List<MdsUserRoleViewVO> selectUserNoRoleList(Map<String, Object> map);

    /**
     * 根据用户名称获取当前用户的所拥有的角色集合
     *
     * @param userName
     * @return
     */
    List<String> selectRoleInfosByUserName(String userName);

    /**
     * 根据用户名称获取当前用户的所拥有的资源集合
     *
     * @param userName
     * @return
     */
    List<String> selectPermissionsByUserName(String userName);
    
    /**
     * @Title: MdsUserMapper
     * @Description: 根据用户名称获取当前用户的所拥有的资源集合
     * @author TimBrian
     * @since Aug 2, 2021 4:54:50 PM
     * @param userName
     * @return
     */
    List<String> selectNameByUserName(String userName);

    /**
     * 根据用户名称获取当前用户的所拥有的角色集合
     *
     * @param conditionMap
     * @return
     */
    MdsUserVO selectUser(Map<String, Object> conditionMap);
}
